package com.catazy.library_statusbar;

import android.app.Activity;
import android.graphics.Rect;

import java.util.List;

/**
 * 作者: Tao
 * 日期: 2024/4/10
 * 时间: 11:10
 * 描述: 适配刘海屏接口
 */
public interface INotchScreen {

    /**
     * 判断是否有刘海屏
     *
     * @param activity activity
     * @return
     */
    boolean hasNotch(Activity activity);

    /**
     * 设置应用是否在刘海屏区域显示
     *
     * @param activity activity
     */
    void setDisplayInNotch(Activity activity);

    /**
     * 获取刘海屏区域
     *
     * @param activity activity
     * @param callback callback
     */
    void getNotchRect(Activity activity, NotchSizeCallback callback);

    /**
     * 获取刘海屏区域回调
     */
    interface NotchSizeCallback {
        void onResult(List<Rect> notchRects);
    }

    /**
     * 判断是否有刘海屏
     */
    interface HasNotchCallback {
        void onResult(boolean hasNotch);
    }

    /**
     * 获取刘海屏信息
     */
    interface NotchScreenCallback {
        void onResult(NotchScreenInfo notchScreenInfo);
    }

    class NotchScreenInfo {
        public boolean hasNotch;
        public List<Rect> notchRects;
    }
}
